// 2014-02-01 Tyrghen
//---------------------------------------------
// Usage:
//  [] call edt_fnc_assassinate;
//---------------------------------------------
// Purpose:
// 
// 
// Parameters:
// - 
//
// Returns:
// 
//---------------------------------------------
// Objectif:
// 
//
// Paramètres:
// - 
//
// Renvoie:
// 
//---------------------------------------------

//============================================================
// Creates a target you need to assassinate
// Crée une cible à assassiner
//
// ex: [OBJ1] call TACV_fnc_assassinate
// 
// Params:
// 1) Objet  OU  type
// 2) Position OU Texte de réussite
// 3) Texte de réussite (si une position n'a pas été donnée)
//============================================================

//#define __FORCE_TRACE__
//#define __FORCE_DEBUG__
//#define __FORCE_INFO__
#define THIS_FILE "acv\fn_assassinate.sqf"
#include <tmf_constants.h>
#include <tmf_macros.h>

TRACE_1("Start",_this);

private ["_obj","_pos","_text"];
DEFAULT_PARAM(_obj,0,objNull);
DEFAULT_PARAM(_pos,1,ARR_3(0,0,0));
DEFAULT_PARAM(_text,2,"");

if (IS_STRING(_pos)) then {
	if (IS_MARKER(_pos)) then {
		_pos = markerPos _pos;
	} else {
		_text = _pos;
	};
};
if (IS_OBJECT(_obj) && {!IS_ARRAY(_pos)}) then {
	_pos = position _obj;
};
if ((IS_STRING(_obj) && {IS_ARRAY(_pos)}) || (IS_OBJECT(_obj))) then {
	[QGVAR(s_execute),[QUOTE(FFUNC(assassinate)),[getPlayerUID player,_obj,_pos,_text]]] call FFUNC(callEvent);
} else {
	
};

TRACE("End");